﻿#region << 文 件 说 明 >>

/*----------------------------------------------------------------
// 文件名称：FileHelper
// 创 建 者：杨程
// 创建时间：2021/8/20 9:50:56
// 文件版本：V1.0.0
// ===============================================================
// 功能描述：
//
//
//----------------------------------------------------------------*/

#endregion

namespace Vampirewal.Core;

/// <summary>
/// 文件帮助类
/// </summary>
public class FileHelper
{
    #region 获取文件的大小

    private static readonly string[] suffixes = new string[] { "B", "KB", "MB", "GB", "TB", "PB" };

    /// <summary>
    /// 获取文件的大小
    /// </summary>
    /// <param name="number">传入获取到的文件长度</param>
    /// <returns>字符串</returns>
    public static string GetFileSize(long number)
    {
        double last = 1;
        for (int i = 0; i < suffixes.Length; i++)
        {
            var current = Math.Pow(1024, i + 1);
            var temp = number / current;
            if (temp < 1)
            {
                return (number / last).ToString("n2") + suffixes[i];
            }
            last = current;
        }

        return number.ToString();
    }

    #endregion
}